home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr52 / expand53.zip / XPDEMO.ZIP / XPDOS.PRG < prev    next >
Text File  |  1992-08-07  |  4KB  |  119 lines

  1. * ------------------------------------------------------------------------
  2. * Module......:    XPDOS.PRG
  3. * Title.......: DOS part of the Expand Library Demonstration Program
  4. * Author......:    Pepijn Smits.
  5. * Date........:    July/August 1992
  6. * Copyright...:    (c)1992 by Softwarebureau Pepijn Smits
  7. * Notes.......:    Clipper 5.01 Demo of the Expand Library
  8. *        Some general DOS functions
  9. *        See XPDEMO.RMK For Compile and Link instructions.
  10. * ------------------------------------------------------------------------
  11.  
  12. Function DOSmessage()
  13. XPbrowse(' List of known ~DOS~ Messages ',;
  14.     ' Dec: Hex:  Meaning:',;
  15.     {|i|if(i=0,97,Str(i-1,4)+'   '+XPhexByte(i-1)+'h  '+XPdosMsg(i-1))})
  16. Return (NIL)
  17.  
  18. Function EnvList()
  19. XPbrowse(' Environment strings ',;
  20.     ' Nr:  Environment String:',;
  21.     {|i|if(i=0,XPenvCount(),Str(i,4)+'  '+XPenvStr(i))})
  22. Return (NIL)
  23.  
  24. Function DOSinfo()
  25.  
  26. XPalert('~DOS~ Information',;
  27.  PadR("DOS version      : ~" + XPdosVersion(),60)+";"+;
  28.  PadR("My name is ..    : ~" + XPmyname(),60)+";"+;
  29.  PadR("Command-Line     : ~" + XPcommandLine(),60)+";"+;
  30.  PadR("Keyboard code    : ~" + if(Len(XPkeybCode())=0,'US (Standard)',XPkeybCode()),60)+";"+;
  31.  PadR("Mouse Installed? : ~" + if(XPmouseThere(),'Yes.','No. '),60)+";"+;
  32.  PadR("PRINT installed? : ~" + if(XPprintThere(),'Yes.','No. '),60)+";"+;
  33.  PadR("Append's Path    : ~" + if(XPappendThere(),XPappendPath(),'(Not Installed)'),60)+";"+;
  34.  PadR("Env. Strings     : ~" + nTrim(XPenvCount())+' strings',60) +";"+;
  35.  PadR("Env. Used/Total  : ~" + nTrim(XPenvUsed())+"/"+nTrim(XPenvSize())+' bytes',60) +";"+;
  36.  PadR("Current Country  : ~" + nTrim(XPcountry()),60) )
  37.  
  38. Return (NIL)
  39.  
  40. Function CountryInfo()
  41. Local a := {}
  42. Local i,CurrCountry := XPcountry(i)
  43. if (!XPnlsFunc())
  44.     XPalert('Country Info',;
  45.         ';~NLSFUNC~ is not installed, therefore the information can;'+;
  46.         'only be displayed for the ~current~ country:;'+;
  47.         'Load ~NLSFUNC~ (>~[~LOADHI~]~NLSFUNC at the DOS prompt);'+;
  48.         'if you want the complete list of supported countries;;'+;
  49.          PadR("Current Country  : ~" + nTrim(XPcountry()),60)+';'+;
  50.          PadR("Date format      : ~" + XPdateFormat(),60)+';'+;
  51.          PadR("Time format      : ~" + StrTran(Time(),':',XPtimeSep()),60)+';'+;
  52.          PadR("24 hour clock?   : ~" + if(XPtime24(),'Yes','No '),60)+';'+;
  53.          PadR("Currency string  : ~" + XPcurrency(325231.2345),60) )
  54. else
  55.  
  56.     XPpop('~Country~ Info',' Retrieving Country Information;Please wait..')
  57.  
  58.     for i := 1 to 1000
  59.         if XPcountry(i)=i
  60.             aAdd(a,if(i=CurrCountry,'  √','   ')+Str(i,5)+'  '+XPdateFormat()+;
  61.                 '  '+StrTran(Time(),':',XPtimeSep())+;
  62.                 '  '+if(!XPtime24(),'Yes','No ')+;
  63.                 '  '+PadR(XPcurrency(325231.2345),18)+;
  64.                    ' '+PadR(XPthousendSep(),4)+;
  65.                 ' '+PadR(XPdataSep(),4)+;
  66.                 ' '+PadR(XPdecimalSep(),4) )
  67.         end
  68.     next
  69.     XPmsg(' ~Country~ interface │ ~Enter~-Select country as Current, ~Esc~-Stop')
  70.     i := XPbrowse(' ~Country~ List ',;
  71.         ' Country: Dateform: Timeform: AM/PM: Currency form: 1000 Data Dec Seperators',;
  72.         a)
  73.     if i = 0
  74.         XPcountry(CurrCountry)
  75.     else
  76.         XPcountry(Val(SubStr(a[i],4)))
  77.     end
  78. end
  79. Return (NIL)
  80.  
  81. Function PRINTtest
  82. Local x,n
  83. /* Just a simple q&d way of testing the PRINT interface */
  84. if XPprintThere()
  85.     x := 1
  86.     While x <> 0
  87.         MenuColor()
  88.         x := XPalert('~PRINT~ Interface','Please select the desired option',;
  89.             {'~S~tatus','~L~ist queue','Submit ~F~ile','~C~ancel File','Cancel ~A~ll'})
  90.         XPprintStop()    // Stop printing...
  91.         do case
  92.         case x = 1
  93.             XPalert('~PRINT~ status',;
  94.                 "Number of Files in PrintQueue...."+str(XPprintCount())+";"+;
  95.                 "Errors on last character........."+str(XPprintError()))
  96.         case x = 2
  97.             if Len(XPaPrint())>0
  98.                 XPmsg('~PRINT~ interface │ The files in the PRINT queue')
  99.                 XPbrowse(' ~PRINT~ interface','Files in the PRINT queue',XPaPrint())
  100.             else
  101.                 XPalert('~PRINT~ Interface','There are no file in the ~PRINT~ queue..')
  102.             end
  103.         case x = 3
  104.              XPsubmitFile(XPqualify(Prompt('Submit File','Enter file to submit to Print','')))
  105.         case x = 4
  106.             n := XPqualify(Prompt('Cancel File','Enter file to be cancelled from queue',''))
  107.             XPcancelFile(n)
  108.         case x = 5
  109.             if XPask('Cancel','Cancel ~ALL~ files from the queue?')
  110.                 XPcancelAll()
  111.             end
  112.         endcase
  113.         XPprintResume()        // Resume printing..
  114.     end
  115. else
  116.     XPalert('~PRINT~ interface',"Sorry, ~PRINT~ is not installed;Therefore, no demo can be done")
  117. end
  118. Return (NIL)
  119.